import java.io.File;
import java.io.IOException;

public class Test05 {
    public static void main(String[] args) throws IOException {
        searchFile(new File("D:/"),"QQ.exe");
    }

    /**
     * 去目录下搜索某个文件
     * @param dir  目录
     * @param fileName 要搜索文件的名字
     */
    public static void searchFile(File dir,String fileName) throws IOException {
        // 1. 不合法情况拦截
        if(dir==null||!dir.exists()||dir.isFile()){
            return;
        }
        // 2. 获得一级文件对象
        File[] files=dir.listFiles();
        // 3. 是否拿到，有没有权限读取
        if(files!=null&&files.length>0){
            // 4. 遍历一级文件对象
            for(File file:files){
                // 5. 判断是文件还是目录
                if(file.isFile()){
                    // 6. 是否是要找文件
                    if(file.getName().contains(fileName)){
                        System.out.println("找到了："+file.getAbsolutePath());
                        // 8. 可执行
                        Runtime runtime=Runtime.getRuntime();
                        runtime.exec(file.getAbsolutePath());
                    }
                }else{
                    // 7. 是目录
                    searchFile(file,fileName);
                }
            }
        }
    }
}
